#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

int main() {
    pid_t id = fork();
    
    if(id < 0) {
        printf("fork失败\n");
    }
    else if(id == 0) {
        // 子进程
        printf("子进程: 我的PID=%d, 父进程PID=%d, id=%d\n", 
               getpid(), getppid(), id);
        sleep(1);  // 让父进程先打印
    }
    else {
        // 父进程
        printf("父进程: 我的PID=%d, 创建的子进程PID=%d, id=%d\n", 
               getpid(), id, id);
        waitpid(id, nullptr, 0);  // 等待子进程结束
    }
    
    return 0;
}